package com.itawei.d3_collection.demo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 迭代器遍历 Iterator
 */
public class CollectionDemo2 {
    public static void main(String[] args) {
        //1.创建Collection 并添加元素
        Collection<String> coll = new ArrayList<>();
        coll.add("陈平安");
        coll.add("刘亦菲");
        coll.add("刘诗诗");
        coll.add("章若楠");
        coll.add("赵敏");

        //2.获取迭代器对象
        //迭代器就好比一个箭头 默认指向集合的0索引处
        Iterator<String> it = coll.iterator();

        //3.利用循环不断地去获取迭代器的每一个元素并打印
        while(it.hasNext()){
            //4.next()方法的两件事情 获取元素并移动指针
            String str = it.next();
            System.out.println( str);
        }

        //细节1:如果当前位置没有元素，还要强行获取，会报NoSuchElementException异常
//        String str = it.next();
//        System.out.println(str);

        //细节2:迭代器遍历完毕，指针不会复位
        System.out.println(it.hasNext());

        //细节3:循环中只能用一次next方法
        Iterator<String> it2 = coll.iterator();
//        while(it2.hasNext()){
//            String str = it2.next();
//            String str2 = it2.next();
//            System.out.println(str);
//        }

        //细节4:迭代器遍历时，不能用集合的方法进行增加或者删除
        while(it2.hasNext()){
            String str = it2.next();
            if("章若楠".equals(str)){
                coll.remove("章若楠");
            }
        }
        System.out.println("---------------------");
        System.out.println(coll);


    }
}
